A common computing system architecture is the client-server model. In the client-server model, a computing system includes one or more server computing devices, and a number of client computing devices. Usually there are more client computing devices than server computing devices. The client computing devices may be heterogeneous. This means that the client computing devices may have different types of hardware, and/or may have different types of operating systems. For example, a computing system may include client computing devices running different versions of the same operating systems, as well as different operating systems. On occasion, the software running on the client computing devices, including their operating systems, may have to be updated to fix bugs or security vulnerabilities in the software, and/or to provide the computing devices with additional functionality.